Resource Scheduling for Uplink Reporting

ABSTRACT

Embodiments include methods for a network node to provide resources for uplink reporting by a wireless device. Such methods include, during setup of a connection with the wireless device, assigning the wireless device a particular one of a plurality of N-tuples of resources IDs contained in a data structure. Each N-tuple includes a different combination of resource IDs than other N-tuples of the plurality. Such methods include selecting a particular resource ID in the particular N-tuple for uplink reporting by the wireless device, and transmitting the particular resource ID to the wireless device together with a schedule for downlink data transmission to the wireless device. Other embodiments include network nodes configured to perform such methods.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of and claims the benefit of priority from U.S. patent application Ser. No. 16/086,110 filed on Jan. 9, 2020, which is a U.S. national-stage entry of international application PCT/SE2018/050720 filed on Jul. 2, 2018. The entire disclosures of the above-mentioned applications are incorporated herein by reference for all purposes.

TECHNICAL FIELD

Embodiments presented herein relate to a method, a network node 200, a computer program, and a computer program product for scheduling resource IDs for uplink reporting from a wireless device.

BACKGROUND

In wireless communication networks, there may be a challenge to obtain good performance and capacity for a given communications protocol, its parameters and the physical environment in which the wireless communication network is deployed.

For example, one property for providing good performance and capacity for a given communications protocol in a wireless communication network is the ability for wireless devices to provide reports in the uplink to the network node in the wireless communication network that serves the wireless devices.

In general terms, in order for the network node to distinguish the uplink reports transmitted from different ones of the wireless devices in a same transmission time interval (TTI) and on the uplink control channel, the network node provides the wireless devices with a set of resource IDs to use for the specific transmission of the uplink reports. The resource ID should also enable the network node to identify the wireless device that sent the uplink report.

In this respect the network node might send a resource indicator to the wireless device that pinpoints which resource ID in the set of resource IDs shall be used for the uplink reporting. This is for example done when the wireless device is scheduled in the downlink and needs to report feedback to the network node.

If all wireless devices would be provided unique resources, the whole uplink bandwidth would soon be occupied just with resources for uplink reporting.

Further, these resources would most of the time not be used. Hence, this would result in a waste of resources. There is therefore a limited number of resource IDs that can be used to distinguish the different uplink reports and wireless devices that sent the uplink reports.

The resources for uplink reporting might instead be dimensioned by the number of needed resources such as for transmitting acknowledgment (ACK) or negative acknowledgement (NACK)) at each slot, i.e. how many wireless devices the network node will transmit to in the downlink and how many wireless devices will be scheduled for uplink reporting in this slot.

As an example, the wireless devices might be provided with resource IDs for such uplink reporting upon setup by means of radio resource control (RRC) configuration. As an example, each wireless device might be provided with a set of resource IDs defining physical resources to use for the uplink reporting. The resource IDs might be defined by a pucch-ResourceSetId and the resource IDs might be defined by set of PUCCH resource IDs, which refer to physical resources, and where PUCCH is short for physical uplink control channel and represents a logic control channel according to the Long Term Evolution (LTE) suite of telecommunications standards, see 3GPP TS 36.211, “Evolved Universal Terrestrial Radio Access (E-UTRA); Physical channels and modulation”, version 15.1.0 and 3GPP TS 38.211, “NR; Physical channels and modulation” version 15.1.0 for telecommunications standards of the fifth generation (sometimes referred to as “New Radio” or simply “NR”) telecommunications systems.

As an example, currently, for each pucch-ResourceSetId there can be up to 3o eight PUCCH resources, i.e. eight PUCCH resource IDs. It is expected that this number will increase in later releases of the LTE and/or NR. A PUCCH resource indicator provided to each wireless device in a downlink control information (DCI) message will pinpoint the exact PUCCH resource ID within the given pucch-ResourceSetId to be used by the wireless device for the corresponding uplink transmission.

However, in view of the above, there is still a need for an improved scheduling of resources to wireless devices to avoid that uplink reporting from different wireless devices clashes.

SUMMARY

An object of embodiments herein is to provide efficient scheduling resources for uplink reporting from a wireless device that does not suffer from the issues noted above, or at least where these issues are mitigated or reduced.

According to a first aspect there is presented a method for scheduling resource IDs for uplink reporting from a wireless device. The method is performed by a network node. The method comprises configuring, upon connection setup of the wireless device, the wireless device with one N-tuple of resource IDs. The N-tuple of resource IDs is assigned to the wireless device for uplink reporting. The N-tuple of resource IDs is selected from a data structure holding a plurality of N-tuples of resource IDs, each of which defining a unique combination of the resource IDs. The method comprises selecting, upon downlink scheduling of the wireless device, one of the resource IDs of the configured N-tuple of resource IDs. The method comprises providing information to the wireless device about the selected resource ID.

According to a second aspect there is presented a network node for scheduling resource IDs for uplink reporting from a wireless device. The network node comprises processing circuitry. The processing circuitry is configured to cause the network node to configure, upon connection setup of the wireless device, the wireless device with one N-tuple of resource IDs. The N-tuple of resource IDs is assigned to the wireless device for uplink reporting.

The N-tuple of resource IDs is selected from a data structure holding a plurality of N-tuples of resource IDs, each of which defining a unique combination of the resource IDs. The processing circuitry is configured to cause the network node to select, upon downlink scheduling of the wireless device, one of the resource IDs of the configured N-tuple of resource IDs. The processing circuitry is configured to cause the network node to provide information to the wireless device about the selected resource ID.

According to a third aspect there is presented a network node for scheduling resource IDs for uplink reporting from a wireless device. The network node comprises a configure module configured to configure, upon connection setup of the wireless device, the wireless device with one N-tuple of resource IDs. The N-tuple of resource IDs is assigned to the wireless device for uplink reporting. The N-tuple of resource IDs is selected from a data structure holding a plurality of N-tuples of resource IDs, each of which defining a unique combination of the resource IDs. The network node comprises a select module configured to select, upon downlink scheduling of the wireless device, one of the resource IDs of the configured N-tuple of resource IDs. The network node comprises a provide module configured to provide information to the wireless device about the selected resource ID.

According to a fourth aspect there is presented a computer program for scheduling resource IDs for uplink reporting from a wireless device, the computer program comprising computer program code which, when run on a network node, causes the network node to perform a method according to the first aspect.

According to a fifth aspect there is presented a computer program product comprising a computer program according to the fourth aspect and a computer readable storage medium on which the computer program is stored. The computer readable storage medium could be a non-transitory computer readable storage medium.

Advantageously this method, these network nodes, this computer program, and this computer program product provide efficient scheduling resources for uplink reporting from the wireless device.

Advantageously the proposed scheduling of resources for uplink reporting from the wireless device does not suffer from the issues noted above, or at least where these issues are mitigated or reduced

Advantageously the proposed scheduling of resources for uplink reporting from the wireless device enables the resources to be used in an optimal way.

Other objectives, features and advantages of the enclosed embodiments will be apparent from the following detailed disclosure, from the attached dependent claims as well as from the drawings.

Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to “a/an/the element, apparatus, component, means, module, step, etc.” are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, module, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.

BRIEF DESCRIPTION OF THE DRAWINGS

The inventive concept is now described, by way of example, with reference to the accompanying drawings, in which:

FIG. 1 is a schematic diagram illustrating a wireless communication network according to embodiments;

FIG. 2 is a flowchart of methods according to embodiments;

FIGS. 3, 4, and 5 schematically illustrate data structures holding a plurality of N-tuples of resource IDs according to embodiments;

FIG. 6 schematically illustrates wireless devices configured with resources for uplink reporting according to an embodiment;

FIG. 7 is a schematic diagram showing functional units of a network node according to an embodiment;

FIG. 8 is a schematic diagram showing functional modules of a network node according to an embodiment; and

FIG. 9 shows one example of a computer program product comprising computer readable storage medium according to an embodiment.

DETAILED DESCRIPTION

The inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Like numbers refer to like elements throughout the description. Any step or feature illustrated by dashed lines should be regarded as optional.

FIG. 1 is a schematic diagram illustrating a wireless communication network 100 where embodiments presented herein can be applied. The wireless communication network 100 could be a third generation (3G) telecommunications network, a fourth generation (4G) telecommunications network, or a fifth (5G) telecommunications network and support any 3GPP telecommunications standard, where applicable.

The wireless communication network 100 comprises a network node 200 configured to, via a radio access network node 140, provide network access to wireless devices 150 a, 150 b, 150 c in a radio access network no. The radio access network no is operatively connected to a core network 120. The core network 120 is in turn operatively connected to a service network 130, such as the Internet. The wireless devices 150 a, 150 b, 150 c are thereby enabled to access services of, and exchange data with, the service network 130.

Examples of network nodes 200 are radio access network nodes, radio base stations, base transceiver stations, Node Bs, evolved Node Bs, g Node Bs, access points, and access nodes, and backhaul nodes. Examples of wireless devices 150 a, 150 b, 150 c are mobile stations, mobile phones, handsets, wireless local loop phones, user equipment (UE), smartphones, laptop computers, tablet computers, network equipped sensors, network equipped vehicles, and so-called Internet of Things devices.

As disclosed above the wireless devices 150a, 150 b, 150 c should be enabled to provide reports in the uplink to the network node 200 in the wireless communication network loft The wireless devices 150 a, 150 b, 150 c therefore need to be configured with resource IDs for such uplink reporting

According to an illustrative example, assume that the number of available PUCCH resource IDs is 8, that there are 9 wireless devices (denoted UE1, UE2, . . . , UE9) served by the network node, and that the number of wireless devices the network node is scheduled to transmit to per slot in the downlink is 5. Assume further that the wireless devices are configured with the following PUCCH resource IDs:

UE1: 1, 2, 3, 4; UE2: 2, 3, 4, 5; UE3: 3, 4, 5, 6; UE4: 4, 5, 6, 7; UE5: 5, 6, 7, 8; UE6: 6, 7, 8, 1; UE7: 7, 8, 1, 2; UE8: 8, 1, 2, 3; and UE9: 1, 2, 3, 4.

Assume further that the five wireless devices UE1-UE4, UE9 all have been scheduled to transmit in the same downlink slot. However, since all the PUCCH resource IDs that can be used for the wireless device UE9 are already occupied by the wireless devices UE1-UE4, the wireless device UE9 will not get any PUCCH resources, even though there are unused PUCCH resource IDs left, i.e. 5, 6, 7 and 8.

An object of embodiments herein is to provide efficient scheduling resource IDs for uplink reporting from a wireless device that does not suffer from the issues noted above, or at least where these issues are mitigated or reduced.

The embodiments disclosed herein therefore relate to mechanisms for scheduling resource IDs for uplink reporting from a wireless device 150 a. In order to obtain such mechanisms there is provided a network node 200, a method performed by the network node 200, a computer program product comprising code, for example in the form of a computer program, that when run on a network node 200, causes the network node 200 to perform the method.

FIG. 2 is a flowchart illustrating embodiments of methods for scheduling resource IDs for uplink reporting from a wireless device 150 a. The methods are performed by the network node 200. The methods are advantageously provided as computer programs 920.

S102: The network node 200 configures, upon connection setup of the wireless device 150 a, the wireless device 150 a with one N-tuple of resource IDs. The N-tuple of resource IDs is assigned to the wireless device 150 a for uplink reporting. The N-tuple of resource IDs is selected from a data structure 300 a, 300 b, 300 c holding a plurality of N-tuples of resource IDs. Each plurality of N-tuples of resource IDs defines a unique combination of the resource IDs.

Intermediate reference is here made to FIGS. 3, 4, and 5 schematically illustrating data structures 300 a, 300 b, 300 c, each holding a plurality of N-tuples of resource IDs. In FIGS. 3, 4, and 5 each data structures 300 a, 300 b, 300 c is represented by a PUCCH resource combination list and each N-tuple of resource IDs is represented by a PUCCH resource combination, and each N-tuple of resource IDs is indexed by a PUCCH resource combination index.

S104: The network node 200 selects, upon downlink scheduling of the wireless device 150 a, one of the resource IDs of the configured N-tuple of resource IDs.

S106: The network node 200 provides information to the wireless device 150 a about the selected resource ID.

Embodiments relating to further details of scheduling resource IDs for uplink reporting from a wireless device 150 a as performed by the network node 200 will now be disclosed.

There may be different ways for the N-tuple of resource IDs to be selected from the data structure 300 a, 300 b, 300 c.

In some aspects each N-tuple of resource IDs in the data structure 300 a, 300 b, 300 c is addressed by a respective index. Then, according to an embodiment the network node 200 is configured to perform (optional) step S102 a:

S120 a: The network node 200 assigns the N-tuple of resource IDs by selecting an index to the data structure 300a, 300 b, 300 c.

In some aspects step S102 a is part of step S102.

In further aspects, the wireless device 150 a is configured with a free available N-tuple of resource IDs. That is, according to an embodiment, when some, but not all of the plurality of N-tuples of resource IDs have been assigned to any other wireless devices 150 b, 150 c, the wireless device 150 a is configured with one of the N-tuple of resource IDs not already assigned to any other wireless devices 150 b, 150 c.

In further aspects, the wireless device 150 a is configured with a first free available N-tuple of resource IDs. Particularly, according to an embodiment the wireless device 150 a is configured with a first available one of the N-tuple of resource IDs not already assigned to any other wireless device 150 b, 150 c. The first available one of the N-tuple of resource IDs might be defined by the N-tuple of resource IDs with lowest index not assigned to any other wireless device 150 b, 150 c.

In further aspects, the wireless device 150 a is configured with a free available N-tuple of resource IDs randomly selected among all free available N-tuple of resource IDs. That is, according to an embodiment the wireless device 150 a is configured with a randomly selected one of the N-tuple of resource IDs not already assigned to any other wireless device 150 b, 150 c.

There could be different ways to handle scenarios where all possible N-tuples of resource IDs already are occupied.

In some aspects, one of the N-tuples of resource IDs having fewest occupants might be selected. That is, according to an embodiment, when all of the plurality of N-tuples of resource IDs have been assigned to other wireless devices 150 b, 150 c, the wireless device 150 a is configured with one of the plurality of N-tuples of resource IDs which have been assigned to fewest of the other wireless devices 150 b, 150 c.

In other aspects, more resource can be allocated so as to expand the data structure 300 a, 300 b, 300 c. That is, according to an embodiment, when all of the plurality of N-tuples of resource IDs have been assigned to other wireless devices 150 b, 150 c, the data structure 300 a, 300 b, 300 c is expanded with at least one further N-tuple of resource IDs, and the wireless device 150 a is configured with one of the at least one further N-tuple of resource IDs.

There could be different ways for the network node 200 to in step S104 select one of the resource IDs of the configured N-tuple of resource IDs for the wireless device 150 a. In some aspects the network node 200 selects a resource ID that is freely available, i.e., not already occupied. That is, according an embodiment, one of the resource IDs is, in step S104, selected from the configured N-tuple of resource IDs not already selected for any other wireless device 150 b, 150 c. In some scenarios the wireless device 150 a is scheduled in the same downlink slot as the other wireless device 150 b, 150 c. Particularly, according to an embodiment the so-called any other wireless device 150 b, 150 c and the wireless device 150 a are scheduled in the same or adjacent downlink slot.

In some aspects, if needed, the network node 200 re-allocates resources IDs within a given combination of resource IDs for one or more wireless devices 150 a, 150 b, 150 c in order to establish utilization of all available resource IDs. Particularly, according to an embodiment, when all resource IDs of the configured N-tuple of resource IDs already have been selected for other wireless devices 150 b, 150 c, the resource ID selected for one of these other wireless devices 150 b, 150 c is re-selected for the wireless device 150 a, and another resource ID not already selected for yet another wireless device 150 b, 150 c is selected for this one of the other wireless devices 150 b, 150 c. In some scenarios the wireless device 150 a is scheduled in the same downlink slot as the other wireless devices 150 b, 150 c. Particularly, according to an embodiment the other wireless devices 150 b, 150 c and the wireless device 150 a are scheduled in same downlink slot.

Particular reference is here made to the data structure 300 b of FIG. 4. In the illustrative example of FIG. 4, it is assumed that there are 8 wireless devices UE1, UE2, UE3, UE4, UE5, UE7, UE8, UE9 scheduled for uplink reporting in the same slot. Assume that each of the wireless devices UE1, UE2, UE3, UE4, UE5, UE7, UE8 already have been assigned to its own N-tuple of resource IDs UE1 is assigned PUCCH resource combination index 1, UE2 is assigned PUCCH resource combination index 2, UE3 is assigned PUCCH resource combination index 3, UE4 is assigned PUCCH resource combination index4, UE5 is assigned PUCCH resource combination index 5, UE7 is assigned PUCCH resource combination index 7, and UE8 is assigned PUCCH resource combination index 8. Assume further that a respective one of the resource IDs of the configured N-tuple of resource IDs already has been selected for UE1, UE2, UE3, UE4, UE5, UE7, UE8 as illustrated in FIG. 4. That is, for UE1 is selected resource ID 1, for UE2 is selected resource ID 2, for UE3 is selected resource ID 3, for UE4 is selected resource ID 7, for UE5 is selected resource ID 8, for UE7 is selected resource ID 6, and for UE8 is selected 3o resource ID 4. If UE 9 is assigned PUCCH resource combination index 9, then all the possible resource IDs 1, 2, 4, 8 at this index have already been selected for the other wireless devices. Therefore, the resource ID for UE2 is re-selected to be resource ID 5 such that resource ID 2 can be selected for UE9.

There could be different types of data structures 300 a, 300 b, 300 c. Illustrative examples of data structures 300 a, 300 b, 300 c are provided in FIGS. 3, 4, and 5. FIGS. 3, 4, and 5 are all examples of data structures 300 a, 300 b, 300 c provided as ordered lists of N-tuples of resource IDs. FIG. 3 is an examples of a data structure 300 a holding all the unique combinations of the resource IDs.

Particular reference is here made to the data structure 300 b of FIG. 5. In one example the data structure 300 c of FIG. 5 is utilized in a time division duplexing (TDD) scenario with three downlink slots and one uplink slot, resulting in that the data structure 300 a of FIG. 3 can be drastically reduced, resulting in only 24 available unique combinations of the resource IDs needed in order to avoid collisions. As an example, two resource IDs (resource ID 1 and resource ID 2) are used for wireless devices scheduled in the first downlink slot, two resource IDs (resource ID 3 and resource ID 4) are used for wireless devices scheduled in the second downlink slot, and four resource IDs (resource ID 5, resource ID 6, resource ID 7, and resource ID 8) are used for wireless devices scheduled in the third downlink slot.

In some aspects one occurrence of the selecting as in step S104 is repeated every time the wireless device 150 a is scheduled in the downlink. That is, according to an embodiment the selecting in step S104 is repeatedly performed at each downlink scheduling opportunity of the wireless device 150 a.

In some aspects the resource IDs assigned to the wireless device 150 a are released upon connection release of the wireless device 150 a. That is, according to an embodiment the network node 200 is configured to perform (optional) step S108:

S108: The network node 200 releases, upon connection release of the wireless device 150 a, the selected resource ID for making the selected resource ID available to be selected for another wireless device 150 b, 150 c.

Thereby the thus released resource can be assigned to another wireless device 150 b, 150 c, thus avoiding waste of unused resource IDs and thus resulting in efficient use of available resource IDs.

There could be different ways to select the value of N (i.e., from how many resource IDs the network node 200 can select the one resource ID in in step S104). In this respect, the limitation, as given by the value of N, with regards to how many resource IDs a wireless device 150 a can be configured with from start generally owes to a limitation in the downlink signalling capacity. The value of N is typically selected as 2n where n takes a value in the set {1, 2, 4, 6, 8, . . . }. In some aspects there are thus at least 4 resource IDs the network node 200 can select from. That is, according to an embodiment, N≥4. In further detail, in some examples, N=4, N=8, N=16, or N=24. In the illustrative examples of FIGS. 3, 4, and 5, N=4. That is, in FIGS. 3, 4, and 5 there are 4 PUCCH resources per PUCCH Resource Set. In the non-limiting illustrative examples of FIGS. 3, 4, and 5, the value of N is selected to be 4 just to ease the presentation of the underlying principle.

There could be different ways to select the total number of available N-tuple of resource IDs. According to an embodiment, there are 70 N-tuples (as in FIG. 3). According to another embodiment, there are 24 N-tuples (as in FIG. 5). That is, in FIG. 3 there are 70 unique PUCCH Resource Combinations and in FIG. 5 there are 24 unique PUCCH Resource Combinations. In general terms, the total number of available N-tuple of resource IDs grows as N grows. But there could be different total number of available N-tuple of resource IDs for the same value of N. FIGS. 3 and 5 are examples of this where N=4 in both figures.

There could be different ways to define the resource ID. According to an embodiment each resource ID is defined by a physical resource. The physical resource might be a time/frequency resource of a physical resource block. In further aspects the resource ID might define a cyclic shift of a code sequence used to modulate the signalling of the uplink reporting, the starting physical resource block (PRB) for the signalling of the uplink reporting, and/or the number of symbols used for the signalling of the uplink reporting.

There could be different ways for the wireless device 150 a to provide the uplink reporting. As disclosed above, the uplink reporting might be on a physical uplink control channel (PUCCH). Then, each N-tuple of resource IDs might define a PUCCH resource set. Further, each index might define a PUCCH resource combination index. For each cell, a PUCCH Resource Combination List might be created, where each PUCCH Resource Combination is unique, i.e. includes a unique combination of PUCCH Resources. In order to address each PUCCH Resource Combination, each PUCCH Resource Combination in the PUCCH Resource Combination List is assigned a PUCCH Resource Combination Index. In other words, the method defined by steps S102, S104, S106 enables a wireless device 150 a to be configured with a PUCCH resource combination from a PUCCH resource combination list holding unique combinations of resource IDs, and upon downlink scheduling of the wireless device 150 a, one of the resource IDs in the PUCCH resource combination is selected for the wireless device 150 a.

There could be different types of uplink reportings. As disclosed above, the uplink reporting might pertain to acknowledgement (ACK) and negative acknowledgement (NACK) feedback. Further, the uplink reporting might pertain to reporting of channel state information (CSI).

FIG. 6 schematically illustrates how 4 PUCCH Resource Sets have been assigned to five wireless devices UE1, UE2, UE3, UE4, UE5 from the data structure 300 a in FIG. 3, and where the selected PUCCH resource ID is highlighted. That is, UE1 is assigned PUCCH resource combination index 1 with PUCCH resource ID 1 selected; UE2 is assigned PUCCH resource combination index 2 with PUCCH resource ID 2 selected; UE3 is assigned PUCCH resource combination index 3, with PUCCH resource ID 3 selected; UE4 is assigned PUCCH resource combination index 4 with PUCCH resource ID 7 selected; and UE5 is assigned PUCCH resource combination index 5 with PUCCH resource ID 8 selected.

FIG. 7 schematically illustrates, in terms of a number of functional units, the components of a network node 200 according to an embodiment. Processing circuitry 210 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 910 (as in FIG. 9), e.g. in the form of a storage medium 230. The processing circuitry 210 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).

Particularly, the processing circuitry 210 is configured to cause the network node 200 to perform a set of operations, or steps, as disclosed above. For example, the storage medium 230 may store the set of operations, and the processing circuitry 210 may be configured to retrieve the set of operations from the storage medium 230 to cause the network node 200 to perform the set of operations. The set of operations may be provided as a set of executable instructions.

Thus the processing circuitry 210 is thereby arranged to execute methods as herein disclosed. The storage medium 230 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory. The network node 200 may further comprise a communications interface 220 at least configured for communications with other entities, nodes, functions, and devices of the wireless communication network 100. As such the communications interface 220 may comprise one or more transmitters and receivers, comprising analogue and digital components. The processing circuitry 210 controls the general operation of the network node 200 e.g. by sending data and control signals to the communications interface 220 and the storage medium 230, by receiving data and reports from the communications interface 220, and by retrieving data and instructions from the storage medium 230. Other components, as well as the related functionality, of the network node 200 are omitted in order not to obscure the concepts presented herein.

FIG. 8 schematically illustrates, in terms of a number of functional modules, the components of a network node 200 according to an embodiment. The network node 200 of FIG. 8 comprises a number of functional modules; a configure module 210 a configured to perform step S102, a select module 210C configured to perform step S104, and a provide module 210 d configured to perform step S106. The network node 200 of FIG. 8 may further comprise a number of optional functional modules, such as any of an assign module 210 b configured to perform step S102 a, and a release module 210 e configured to perform step S108. In general terms, each functional module 210 a-210 e may in one embodiment be implemented only in hardware and in another embodiment with the help of software, i.e., the latter embodiment having computer program instructions stored on the storage medium 230 which when run on the processing circuitry makes the network node 200 perform the corresponding steps mentioned above in conjunction with FIG. 8. It should also be mentioned that even though the modules correspond to parts of a computer program, they do not need to be separate modules therein, but the way in which they are implemented in software is dependent on the programming language used. Preferably, one or more or all functional modules 210 a-210 e may be implemented by the processing circuitry 210, possibly in cooperation with the communications interface 220 and/or the storage medium 230. The processing circuitry 210 may thus be configured to from the storage medium 230 fetch instructions as provided by a functional module 210 a-210 e and to execute these instructions, thereby performing any steps as disclosed herein.

The network node 200 may be provided as a standalone device or as a part of 3o at least one further device. For example, the network node 200 may be provided in a node of the radio access network no or in a node of the core network 120. Alternatively, functionality of the network node 200 may be distributed between at least two devices, or nodes. These at least two nodes, or devices, may either be part of the same network part (such as the radio access network 110 or the core network 120) or may be spread between at least two such network parts. In general terms, instructions that are required to be performed in real time may be performed in a device, or node, operatively closer to the cell than instructions that are not required to be performed in real time.

Thus, a first portion of the instructions performed by the network node 200 may be executed in a first device, and a second portion of the of the instructions performed by the network node 200 may be executed in a second device; the herein disclosed embodiments are not limited to any particular number of devices on which the instructions performed by the network node 200 may be executed. Hence, the methods according to the herein disclosed embodiments are suitable to be performed by a network node 200 residing in a cloud computational environment. Therefore, although a single processing circuitry 210 is illustrated in FIG. 7 the processing circuitry 210 may be distributed among a plurality of devices, or nodes. The same applies to the functional modules 210 a-210 e of FIG. 8 and the computer program 920 of FIG. 9.

FIG. 9 shows one example of a computer program product 910 comprising computer readable storage medium 930. On this computer readable storage medium 930, a computer program 920 can be stored, which computer program 920 can cause the processing circuitry 210 and thereto operatively coupled entities and devices, such as the communications interface 220 and the storage medium 230, to execute methods according to embodiments described herein. The computer program 920 and/or computer program product 910 may thus provide means for performing any steps as herein disclosed.

In the example of FIG. 9, the computer program product 910 is illustrated as an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc. The computer program product 910 could also be embodied as a memory, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory. Thus, while the computer program 920 is here schematically shown as a track on the depicted optical disk, the computer program 920 can be stored in any way which is suitable for the computer program product 910.

The inventive concept has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended patent claims. 

1. A method for providing resources for uplink reporting by a wireless device, the method performed by a network node and comprising: during setup of a connection with the wireless device, assigning the wireless device a particular one of a plurality of N-tuples of resources IDs contained in a data structure, each N-tuple including a different combination of resource IDs than other N-tuples of the plurality; selecting a particular resource ID in the particular N-tuple for uplink reporting by the wireless device; and transmitting the particular resource ID to the wireless device together with a schedule for downlink data transmission to the wireless device.
 2. The method of claim 1, wherein: the plurality of N-tuples of resource IDs are identified by a respective plurality of indices; and assigning the N-particular tuple of resource IDs comprises transmitting to the wireless device a particular one of the indices that identifies the particular N-Tuple.
 3. The method of claim 1, wherein the particular resource ID is not currently used for uplink reporting by one or more other wireless devices served by the network node.
 4. The method of claim 3, wherein: the schedule identifies a downlink slot; and the one or more other wireless devices include all other wireless devices scheduled in the identified downlink slot or in a downlink slot adjacent to the identified downlink slot.
 5. The method of claim 1, wherein: selecting the particular resource ID comprises, when all resource ID of the particular N-tuple already have been selected for other wireless devices, reassigning the particular resource ID from another wireless device to the wireless device, and assigning a further resource ID in a further one of the N-tuples to the other wireless device; and the further resource ID is not currently used for uplink reporting by one or more other wireless devices served by the network node.
 6. The method of claim 5, wherein the schedule identifies a downlink slot; and the one or more other wireless devices include all other wireless devices scheduled in the identified downlink slot
 7. The method of claim 1, wherein the data structure includes all unique combinations of available resource IDs.
 8. The method of claim 1, wherein assigning the wireless device the particular N-tuple comprises randomly selecting the particular N-tuple from N-tuples, of the plurality, that are not currently assigned to other wireless devices served by the network node.
 9. The method of claim 1, wherein assigning the wireless device the particular N-tuple comprises performing one of the following when all N-tuples of the data structure are currently assigned to other wireless devices served by the network node: selecting, as the particular N-tuple, the N-tuple currently assigned to fewest of the other wireless devices; or adding at least the particular N-tuple to the data structure.
 10. The method of claim 1, wherein one or more of the following applies: the uplink reporting is on a physical uplink control channel (PUCCH); each N-tuple of resource IDs defines a PUCCH resource set; and each N-tuple of resource IDs includes at least N=4 resource IDs.
 11. The method of claim 1, wherein the particular resource ID is selected for uplink reporting associated with one of the following: acknowledgement (ACK) and negative acknowledgement (NACK) feedback related to the downlink data transmissions; or channel state information (CSI).
 12. A network node configured to provide resources for uplink reporting by a wireless device, the network node comprising: communication interface circuitry; and processing circuitry operably coupled to the communication interface circuitry, whereby the processing circuitry and the communication interface circuitry are configured to: during setup of a connection with the wireless device, assign the wireless device a particular one of a plurality of N-tuples of resources IDs contained in a data structure, each N-tuple including a different combination of resource IDs than other N-tuples of the plurality; select a particular resource ID in the particular N-tuple for uplink reporting by the wireless device; and transmit the particular resource ID to the wireless device together with a schedule for downlink data transmission to the wireless device.
 13. The network node of claim 12, wherein: the plurality of N-tuples of resource IDs are identified by a respective plurality of indices; and the processing circuitry and the communication interface circuitry are configured to assign the N-particular tuple of resource IDs based on transmitting to the wireless device a particular one of the indices that identifies the particular N-Tuple.
 14. The network node of claim 12, wherein the particular resource ID is not currently used for uplink reporting by one or more other wireless devices served by the network node.
 15. The network node of claim 14, wherein: the schedule identifies a downlink slot; and the one or more other wireless devices include all other wireless devices scheduled in the identified downlink slot or in a downlink slot adjacent to the identified downlink slot.
 16. The network node of claim 12, wherein: the processing circuitry and the communication interface circuitry are configured to select the particular resource ID based on, when all resource ID of the particular N-tuple already have been selected for other wireless devices, reassigning the particular resource ID from another wireless device to the wireless device, and assigning a further resource ID in a further one of the N-tuples to the other wireless device; and the further resource ID is not currently used for uplink reporting by one or more other wireless devices served by the network node.
 17. The network node of claim 16, wherein the schedule identifies a downlink slot; and the one or more other wireless devices include all other wireless devices scheduled in the identified downlink slot
 18. The network node of claim 12, wherein the data structure includes all unique combinations of available resource IDs.
 19. The network node of claim 12, wherein the processing circuitry and the communication interface circuitry are configured to assign the wireless device the particular N-tuple based on randomly selecting the particular N-tuple from N-tuples, of the plurality, that are not currently assigned to other wireless devices served by the network node.
 20. The network node of claim 12, wherein the processing circuitry and the communication interface circuitry are configured to assign the wireless device the particular N-tuple based on performing one of the following when all N-tuples of the data structure are currently assigned to other wireless devices served by the network node: selecting, as the particular N-tuple, the N-tuple currently assigned to fewest of the other wireless devices; or adding at least the particular N-tuple to the data structure. 